package com.neusoft.aclome.cmp.cloud.server.jcce.entity;

import tk.mybatis.mapper.annotation.KeySql;

import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.*;

@Table(name = "data_resource")
public class DataResourceEntity {
    /**
     * 数据资源ID
     */
    @Id
    @KeySql(useGeneratedKeys = true)
    @Column(name = "id", insertable = false)
    private Integer id;

    /**
     * 数据资源名称
     */
    private String name;

    /**
     * 所有权审核状态
     */
    @Column(name = "proprietorship_status")
    private String proprietorshipStatus;

    /**
     * 创建时间
     */
    @Column(name = "created_at")
    private Date createdAt;

    /**
     * 修改时间
     */
    @Column(name = "updated_at")
    private Date updatedAt;

    /**
     * 数据文件名称
     */
    @Column(name = "data_file_name")
    private String dataFileName;

    /**
     * 证明文件名称
     */
    @Column(name = "proof_file_name")
    private String proofFileName;
    /**
     * 新数据文件名称
     */
    @Column(name = "new_data_file_name")
    private String newDataFileName;
    /**
     * 新证明文件名称
     */
    @Column(name = "new_proof_file_name")
    private String newProofFileName;

    @Column(name = "data_file_signature")
    private String dataFileSignature;

    @Column(name = "user_id")
    private String userId;
    /**
     * 价格
     */
    @Column(name = "price")
    private BigDecimal price;

    /**
     * 数据类型
     */
    @Column(name = "data_type")
    private String dataType;
    /**
     * 数据分类
     */
    @Column(name = "data_category")
    private String dataCategory;

    @Column(name = "proof_type")
    private String proofType;

    @Column(name = "proof_desc")
    private String proofDesc;

    @Column(name = "ownership_desc")
    private String ownershipDesc;

    @Column(name = "new_proof_desc")
    private String newProofDesc;

    @Column(name = "new_ownership_desc")
    private String newOwnershipDesc;

    @Column(name = "usage_right_detail")
    private String usageRightDetail;
    /**
     * 证明文件下载状态
     */
    @Column(name = "proof_file_download_status")
    private String proofFileDownloadStatus;

    public String getProofDesc() {
        return proofDesc;
    }

    public void setProofDesc(String proofDesc) {
        this.proofDesc = proofDesc;
    }

    public String getOwnershipDesc() {
        return ownershipDesc;
    }

    public void setOwnershipDesc(String ownershipDesc) {
        this.ownershipDesc = ownershipDesc;
    }

    public String getNewProofDesc() {
        return newProofDesc;
    }

    public void setNewProofDesc(String newProofDesc) {
        this.newProofDesc = newProofDesc;
    }

    public String getNewOwnershipDesc() {
        return newOwnershipDesc;
    }

    public void setNewOwnershipDesc(String newOwnershipDesc) {
        this.newOwnershipDesc = newOwnershipDesc;
    }

    public String getProofType() {
        return proofType;
    }

    public void setProofType(String proofType) {
        this.proofType = proofType;
    }

    /**
     * 注册时间
     */
    @Column(name = "registration_time")
    private Date registrationTime;

    /**
     * 数据格式
     * eg： .docx
     */
    @Column(name = "data_format")
    private String dataFormat;
    /**
     * 封面（拼接时间戳之后的名称）
     */
    @Column(name = "image_name")
    private  String imageName;
    /**
     * 文件大小
     */
    @Column(name = "data_size")
    private String dataSize;
    /**
     * 描述
     */
    @Column(name = "description")
    private String description;
    /**
     * 数据提供者
     * 用户名
     */
    @Column(name = "data_supplier")
    private String dataSupplier;

    /**
     * 获取数据资源ID
     *
     * @return id - 数据资源ID
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置数据资源ID
     *
     * @param id 数据资源ID
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取数据资源名称
     *
     * @return name - 数据资源名称
     */
    public String getName() {
        return name;
    }

    /**
     * 设置数据资源名称
     *
     * @param name 数据资源名称
     */
    public void setName(String name) {
        this.name = name;
    }

    public String getProprietorshipStatus() {
        return proprietorshipStatus;
    }

    public void setProprietorshipStatus(String proprietorshipStatus) {
        this.proprietorshipStatus = proprietorshipStatus;
    }

    /**
     * 获取创建时间
     *
     * @return created_at - 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置创建时间
     *
     * @param createdAt 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取修改时间
     *
     * @return updated_at - 修改时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置修改时间
     *
     * @param updatedAt 修改时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取数据文件名称
     *
     * @return data_file_name - 数据文件名称
     */
    public String getDataFileName() {
        return dataFileName;
    }

    /**
     * 设置数据文件名称
     *
     * @param dataFileName 数据文件名称
     */
    public void setDataFileName(String dataFileName) {
        this.dataFileName = dataFileName;
    }

    /**
     * 获取证明文件名称
     *
     * @return proof_file_name - 证明文件名称
     */
    public String getProofFileName() {
        return proofFileName;
    }

    /**
     * 设置证明文件名称
     *
     * @param proofFileName 证明文件名称
     */
    public void setProofFileName(String proofFileName) {
        this.proofFileName = proofFileName;
    }

    public String getNewDataFileName() {
        return newDataFileName;
    }

    public void setNewDataFileName(String newDataFileName) {
        this.newDataFileName = newDataFileName;
    }

    public String getNewProofFileName() {
        return newProofFileName;
    }

    public void setNewProofFileName(String newProofFileName) {
        this.newProofFileName = newProofFileName;
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getDataFileSignature() {
        return dataFileSignature;
    }

    public void setDataFileSignature(String dataFileSignature) {
        this.dataFileSignature = dataFileSignature;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType;
    }

    public String getDataCategory() {
        return dataCategory;
    }

    public void setDataCategory(String dataCategory) {
        this.dataCategory = dataCategory;
    }

    public Date getRegistrationTime() {
        return registrationTime;
    }

    public void setRegistrationTime(Date registrationTime) {
        this.registrationTime = registrationTime;
    }

    public String getDataFormat() {
        return dataFormat;
    }

    public void setDataFormat(String dataFormat) {
        this.dataFormat = dataFormat;
    }

    public String getImageName() {
        return imageName;
    }

    public void setImageName(String imageName) {
        this.imageName = imageName;
    }

    public String getDataSize() {
        return dataSize;
    }

    public void setDataSize(String dataSize) {
        this.dataSize = dataSize;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDataSupplier() {
        return dataSupplier;
    }

    public void setDataSupplier(String dataSupplier) {
        this.dataSupplier = dataSupplier;
    }

    public String getUsageRightDetail() {
        return usageRightDetail;
    }

    public void setUsageRightDetail(String usageRightDetail) {
        this.usageRightDetail = usageRightDetail;
    }

    public String getProofFileDownloadStatus() {
        return proofFileDownloadStatus;
    }

    public void setProofFileDownloadStatus(String proofFileDownloadStatus) {
        this.proofFileDownloadStatus = proofFileDownloadStatus;
    }
}